var arrayEach = require("./utils/arrayEach"); // 数组循环
var arrayMap = require("./utils/arrayMap"); // 数组映射
var arraySort = require("./utils/arraySort"); // 数组排序
var base64ToBlob = require("./utils/base64ToBlob"); // base64转blob
var copyText = require("./utils/copyText"); // 复制文本
var dataType = require("./utils/dataType"); // 数据类型
var dateFormat = require("./utils/dateFormat"); // 日期格式化
var debounce = require("./utils/debounce"); // 防抖动
var effect = require("./utils/effect"); // 响应式函数
var isArray = require("./utils/isArray"); // 数组判断
var chineseCharacters = require("./utils/chineseCharacters"); // 获取中文字符
var isFunction = require("./utils/isFunction"); // 函数判断
var isNaN = require("./utils/isNaN"); // 判断是否是NaN
var isNull = require("./utils/isNull"); // 判断是否是Null
var isObject = require("./utils/isObject"); // 对象判断
var isUndefined = require("./utils/isUndefined"); // 判断是否是Undefined
var isNumber = require("./utils/isNumber"); // 判断是否是Number
var locatInfo = require("./utils/locatInfo"); // 获取当前地址信息
var newUUID = require("./utils/newUUID"); // 生成UUID
var reactive = require("./utils/reactive"); // 创建响应式对象
var runTask = require("./utils/runTask"); // 运行任务
var throttle = require("./utils/throttle"); // 节流
var toArray = require("./utils/toArray"); // 对象或伪数组转数组
var toArrayTree = require("./utils/toArrayTree"); // 数组转树形结构
var toTreeArray = require("./utils/toTreeArray"); // 树形结构转数组

var utils = {
    arrayEach,
    arrayMap,
    arraySort,
    base64ToBlob,
    chineseCharacters,
    copyText,
    dataType,
    dateFormat,
    debounce,
    effect,
    isArray,
    isFunction,
    isNaN,
    isNull,
    isObject,
    isUndefined,
    isNumber,
    locatInfo,
    newUUID,
    reactive,
    runTask,
    throttle,
    toArray,
    toArrayTree,
    toTreeArray
}

const install = function (Vue, option) {
    console.log('install', option)
    Vue.prototype.$xuzq_utils = utils
}

if (typeof window !== 'undefined' && window.Vue) {
    install(window.Vue);
}

module.exports = utils;